/**
 * The type Main.
 *
 * @author Sihan Wang
 * @date 24/06/09
 */
public class Main {
    /**
     * The constant fc1.
     */
    public static FoodCollection fc1;
    /**
     * The constant rc1.
     */
    public static RecipeCollection rc1;


    /**
     * Initialize.
     */
    public static void initialize(){
        fc1 = new FoodCollection();
        rc1 = new RecipeCollection();
    }

    /**
     * Add default food.
     */
    public static void addDefaultFood() {
        fc1.addFood("Potato", 5, "pcs");
        fc1.addFood("Tomato", 4, "pcs");
        fc1.addFood("egg", 10, "pcs");
        fc1.addFood("beef", 800, "g");
        fc1.addFood("milk", 500, "ml");
        fc1.addFood("Pork", 1000, "g");
        fc1.addFood("Rib", 500, "g");
        fc1.addFood("Chicken wings", 12, "pcs");
        fc1.addFood("Pepsi", 600, "ml");
        fc1.addFood("Carrot", 3, "pcs");
        fc1.addFood("Shrimps", 10, "pcs");
        fc1.addFood("Wax gourd", 1, "pcs");
        fc1.addFood("Cabbage", 1, "head");
        fc1.addFood("Hairy crab", 3, "pcs");
        fc1.addFood("Agaric", 50, "g");
        fc1.addFood("Okra", 200, "g");
        fc1.addFood("Basa fish", 500, "g");
        fc1.addFood("Steak", 200, "g");
        fc1.addFood("Onion", 2, "pcs");
        fc1.addFood("Sesame", 100, "g");
        fc1.addFood("Black bean", 200, "g");
    }

    /**
     * Add default recipe.
     */
    public static void addDefaultRecipe(){

        Recipe r4 = new Recipe("Bouilli");
        r4.addIngredient("Pork", 700, "g");
        r4.setStep("Cut pork into cubes.\nPut them into boiling water and take them out.\nPrepare ingredients: ginger, dried chili, fragrant leaves, cinnamon, star anise, rock sugar.\nHeat the oil and add the pork into the pan.\nTake out the pork.\nFry the rock sugar until it caramelizes.\nAdd the pork and other ingredients.\nStir them for a while and add water.\nKeep heating until it is enough.");
        rc1.addRecipe(r4);

        Recipe r5 = new Recipe("Sweet and sour ribs");
        r5.addIngredient("Rib", 500, "g");
        r5.setStep("Cut rib into little pieces and use water to clean them.\nAdd scallions and ginger, 2 grams of salt, a little cooking wine, and five-spice powder to the ribs and marinate for 10 minutes.\nFry until rock candy melts.\nStir them.\nPut two tablespoons of light soy sauce and one and a half tablespoons of vinegar.\nKeep heating until it is enough.");
        rc1.addRecipe(r5);

        Recipe r6 = new Recipe("Stir-fried tomatoes and eggs");
        r6.addIngredient("Egg", 3, "pcs");
        r6.addIngredient("Tomato", 2, "pcs");
        r6.setStep("Peel the tomato and cut them into pieces.\nCrack eggs and add water and salt.\nStir the egg until it is concretionary and take it out.\nHeat the oil and add tomatoes into the pan.\nStir until there is enough juice.\nAdd egg, water, and white sugar.\nKeep heating until it is enough.");
        rc1.addRecipe(r6);

        Recipe r7 = new Recipe("Cola chicken wings");
        r7.addIngredient("Chicken wings", 12, "pcs");
        r7.addIngredient("Pepsi", 600, "ml");
        r7.setStep("Clean the chicken wings and gash the skin.\nPut them into cold water with cooking wine and ginger.\nHeat them until for a while and take them out.\nFry the rock sugar until it caramelizes.\nAdd chicken wings, ginger, and scallion into the pot.\nAdd Pepsi and liquor.\nKeep heating until it is enough.");
        rc1.addRecipe(r7);

        Recipe r8 = new Recipe("Braised beef with potatoes");
        r8.addIngredient("Beef", 500, "g");
        r8.addIngredient("Potatoes", 2, "pcs");
        r8.addIngredient("Carrot", 1, "pcs");
        r8.setStep("Cut them into cubes.\nAdd the beef into cold water with cooking wine.\nCook for a while and take them out.\nAdd some cooking oil.\nAdd ginger slices, scallions, dried peppers, star anise into hot oil.\nAdd beef and two tablespoons of tomato sauce and one tablespoon of rock sugar.\nAdd potato and carrot cubes and stir them.");
        rc1.addRecipe(r8);

        Recipe r9 = new Recipe("Shrimps and wax gourd soup");
        r9.addIngredient("Shrimps", 6, "pcs");
        r9.addIngredient("Wax gourd", 0.5, "pcs");
        r9.setStep("Wash the shrimp, remove the shell and string.\nCut down the head and retain them.\nAdd shrimp head into hot oil.\nAdd cooking wine and ginger.\nClean the wax gourd and peel them.\nAdd the shrimp head soup and heat them.\nAdd the shrimp meat and heat them.\nAdd salt and pepper.");
        rc1.addRecipe(r9);

        Recipe r10 = new Recipe("Cabbage in vinegar");
        r10.addIngredient("Cabbage", 400, "g");
        r10.setStep("Cut cabbage into slices.\nStir the prickly ash with hot oil and then take it out.\nAdd dried chili and cabbage into the pot.\nAdd sesame oil and stir them.\nKeep heating until it is enough.");
        rc1.addRecipe(r10);

        Recipe r11 = new Recipe("Steamed hairy crab");
        r11.addIngredient("Hairy crab", 2, "pcs");
        r11.setStep("Brush the hairy crab with a toothbrush.\nCut onion and ginger into pieces.\nSteam the hairy crab with some hot water and other ingredients.\nSteam for about 20 minutes.");
        rc1.addRecipe(r11);

        Recipe r12 = new Recipe("Agaric with okra");
        r12.addIngredient("Agaric", 10, "g");
        r12.addIngredient("Okra", 100, "g");
        r12.setStep("Soak agaric in warm water. \nAdd some burdening like scallion and garlic. \nCook agaric thoroughly. \nCut okra into pieces and cook it. \nMix okra, agaric and burdening together.");
        rc1.addRecipe(r12);

        Recipe r13 = new Recipe("Fish and Chips");
        r13.addIngredient("Basa fish", 500, "g");
        r13.addIngredient("Potato", 1, "pcs");
        r13.setStep("Mix the flour, beer and some water into paste. \nRemove moisture from the Basa fish. \nMake French fries for about 15 minutes. \nPut Basa fish into the paste and fry them.");
        rc1.addRecipe(r13);

        Recipe r14 = new Recipe("Pie and Mash");
        r14.addIngredient("Milk", 100, "ml");
        r14.addIngredient("Potato", 3, "pcs");
        r14.addIngredient("Pork", 400, "g");
        r14.setStep("Mix 160g flour and half spoon of salt. \nCut 100g butter into pieces and mix them. \nAdd 3 spoons of clod water and 1 spoon of lemon juice. \nUse the oven to bake it. \nCut potatoes into cubes and then cook them thoroughly. \nMake the minced pork and stack them.");
        rc1.addRecipe(r14);

        Recipe r15 = new Recipe("Roast steak");
        r15.addIngredient("Steak", 200, "g");
        r15.setStep("Remove moisture from the steak. \nSprinkle black pepper and salt. \nPut it into the oven. (100° 20minutes) \nAdd hot oil into the pot and cook it.");
        rc1.addRecipe(r15);

        Recipe r16 = new Recipe("Russian soup");
        r16.addIngredient("Beef", 500, "g");
        r16.addIngredient("potato",2,"pcs");
        r16.addIngredient("Carrot", 1, "pcs");
        r16.addIngredient("Onion", 1, "pcs");
        r16.addIngredient("Tomato", 2, "pcs");
        r16.setStep("Cut beef, potato, tomato and carrot into cubes. \nCook the beef with some salt. \nAdd tomato, potato and carrot into the pot. \nPut some butter into it and cook them. \nAdd fried flour and cook for a while.");
        rc1.addRecipe(r16);

        Recipe r17 = new Recipe("Moo shu pork");
        r17.addIngredient("Pork", 150, "g");
        r17.addIngredient("Agaric", 12, "g");
        r17.addIngredient("Egg", 2, "pcs");
        r17.addIngredient("Cucumber", 0.5, "pcs");
        r17.setStep("Deal with the agaric in advance. \nCut pork into pieces add some pepper, salt and cooking wine. \nPut egg into hot pot and hot oil. \nAdd pork, scallion, ginger, agaric into the pot. \nStir them for a while. \nAdd the cucumber and stir them. \nHeat until it is enough.");
        rc1.addRecipe(r17);

        Recipe r18 = new Recipe("Black sesame and black bean milk");
        r18.addIngredient("Sesame", 20, "g");
        r18.addIngredient("Black bean", 100, "g");
        r18.setStep("Steep the black bean for a whole night. \nClean the black bean and sesame. \nAdd them into the high-speed blender. \nWait for the ending of process.");
        rc1.addRecipe(r18);

    }

    /**
     * The entry point of application.
     *
     * @param args the input arguments
     */
    public static void main(String[] args) {
        initialize();
        addDefaultFood();
        addDefaultRecipe();
        new MenuFrame();
    }
}
